package com.preskool.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class StudentExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Long offset;

    public StudentExample() {
        oredCriteria = new ArrayList<>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Long offset) {
        this.offset = offset;
    }

    public Long getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andSidIsNull() {
            addCriterion("sid is null");
            return (Criteria) this;
        }

        public Criteria andSidIsNotNull() {
            addCriterion("sid is not null");
            return (Criteria) this;
        }

        public Criteria andSidEqualTo(Integer value) {
            addCriterion("sid =", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotEqualTo(Integer value) {
            addCriterion("sid <>", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThan(Integer value) {
            addCriterion("sid >", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidGreaterThanOrEqualTo(Integer value) {
            addCriterion("sid >=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThan(Integer value) {
            addCriterion("sid <", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidLessThanOrEqualTo(Integer value) {
            addCriterion("sid <=", value, "sid");
            return (Criteria) this;
        }

        public Criteria andSidIn(List<Integer> values) {
            addCriterion("sid in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotIn(List<Integer> values) {
            addCriterion("sid not in", values, "sid");
            return (Criteria) this;
        }

        public Criteria andSidBetween(Integer value1, Integer value2) {
            addCriterion("sid between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andSidNotBetween(Integer value1, Integer value2) {
            addCriterion("sid not between", value1, value2, "sid");
            return (Criteria) this;
        }

        public Criteria andClidIsNull() {
            addCriterion("clid is null");
            return (Criteria) this;
        }

        public Criteria andClidIsNotNull() {
            addCriterion("clid is not null");
            return (Criteria) this;
        }

        public Criteria andClidEqualTo(Integer value) {
            addCriterion("clid =", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidNotEqualTo(Integer value) {
            addCriterion("clid <>", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidGreaterThan(Integer value) {
            addCriterion("clid >", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidGreaterThanOrEqualTo(Integer value) {
            addCriterion("clid >=", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidLessThan(Integer value) {
            addCriterion("clid <", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidLessThanOrEqualTo(Integer value) {
            addCriterion("clid <=", value, "clid");
            return (Criteria) this;
        }

        public Criteria andClidIn(List<Integer> values) {
            addCriterion("clid in", values, "clid");
            return (Criteria) this;
        }

        public Criteria andClidNotIn(List<Integer> values) {
            addCriterion("clid not in", values, "clid");
            return (Criteria) this;
        }

        public Criteria andClidBetween(Integer value1, Integer value2) {
            addCriterion("clid between", value1, value2, "clid");
            return (Criteria) this;
        }

        public Criteria andClidNotBetween(Integer value1, Integer value2) {
            addCriterion("clid not between", value1, value2, "clid");
            return (Criteria) this;
        }

        public Criteria andFulNameIsNull() {
            addCriterion("ful_name is null");
            return (Criteria) this;
        }

        public Criteria andFulNameIsNotNull() {
            addCriterion("ful_name is not null");
            return (Criteria) this;
        }

        public Criteria andFulNameEqualTo(String value) {
            addCriterion("ful_name =", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameNotEqualTo(String value) {
            addCriterion("ful_name <>", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameGreaterThan(String value) {
            addCriterion("ful_name >", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameGreaterThanOrEqualTo(String value) {
            addCriterion("ful_name >=", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameLessThan(String value) {
            addCriterion("ful_name <", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameLessThanOrEqualTo(String value) {
            addCriterion("ful_name <=", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameLike(String value) {
            addCriterion("ful_name like", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameNotLike(String value) {
            addCriterion("ful_name not like", value, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameIn(List<String> values) {
            addCriterion("ful_name in", values, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameNotIn(List<String> values) {
            addCriterion("ful_name not in", values, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameBetween(String value1, String value2) {
            addCriterion("ful_name between", value1, value2, "fulName");
            return (Criteria) this;
        }

        public Criteria andFulNameNotBetween(String value1, String value2) {
            addCriterion("ful_name not between", value1, value2, "fulName");
            return (Criteria) this;
        }

        public Criteria andMobileIsNull() {
            addCriterion("mobile is null");
            return (Criteria) this;
        }

        public Criteria andMobileIsNotNull() {
            addCriterion("mobile is not null");
            return (Criteria) this;
        }

        public Criteria andMobileEqualTo(String value) {
            addCriterion("mobile =", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotEqualTo(String value) {
            addCriterion("mobile <>", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThan(String value) {
            addCriterion("mobile >", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileGreaterThanOrEqualTo(String value) {
            addCriterion("mobile >=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThan(String value) {
            addCriterion("mobile <", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLessThanOrEqualTo(String value) {
            addCriterion("mobile <=", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileLike(String value) {
            addCriterion("mobile like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotLike(String value) {
            addCriterion("mobile not like", value, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileIn(List<String> values) {
            addCriterion("mobile in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotIn(List<String> values) {
            addCriterion("mobile not in", values, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileBetween(String value1, String value2) {
            addCriterion("mobile between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andMobileNotBetween(String value1, String value2) {
            addCriterion("mobile not between", value1, value2, "mobile");
            return (Criteria) this;
        }

        public Criteria andEmailIsNull() {
            addCriterion("email is null");
            return (Criteria) this;
        }

        public Criteria andEmailIsNotNull() {
            addCriterion("email is not null");
            return (Criteria) this;
        }

        public Criteria andEmailEqualTo(String value) {
            addCriterion("email =", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotEqualTo(String value) {
            addCriterion("email <>", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThan(String value) {
            addCriterion("email >", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailGreaterThanOrEqualTo(String value) {
            addCriterion("email >=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThan(String value) {
            addCriterion("email <", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLessThanOrEqualTo(String value) {
            addCriterion("email <=", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailLike(String value) {
            addCriterion("email like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotLike(String value) {
            addCriterion("email not like", value, "email");
            return (Criteria) this;
        }

        public Criteria andEmailIn(List<String> values) {
            addCriterion("email in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotIn(List<String> values) {
            addCriterion("email not in", values, "email");
            return (Criteria) this;
        }

        public Criteria andEmailBetween(String value1, String value2) {
            addCriterion("email between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andEmailNotBetween(String value1, String value2) {
            addCriterion("email not between", value1, value2, "email");
            return (Criteria) this;
        }

        public Criteria andGenderIsNull() {
            addCriterion("gender is null");
            return (Criteria) this;
        }

        public Criteria andGenderIsNotNull() {
            addCriterion("gender is not null");
            return (Criteria) this;
        }

        public Criteria andGenderEqualTo(String value) {
            addCriterion("gender =", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotEqualTo(String value) {
            addCriterion("gender <>", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThan(String value) {
            addCriterion("gender >", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderGreaterThanOrEqualTo(String value) {
            addCriterion("gender >=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThan(String value) {
            addCriterion("gender <", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLessThanOrEqualTo(String value) {
            addCriterion("gender <=", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderLike(String value) {
            addCriterion("gender like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotLike(String value) {
            addCriterion("gender not like", value, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderIn(List<String> values) {
            addCriterion("gender in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotIn(List<String> values) {
            addCriterion("gender not in", values, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderBetween(String value1, String value2) {
            addCriterion("gender between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andGenderNotBetween(String value1, String value2) {
            addCriterion("gender not between", value1, value2, "gender");
            return (Criteria) this;
        }

        public Criteria andDobIsNull() {
            addCriterion("dob is null");
            return (Criteria) this;
        }

        public Criteria andDobIsNotNull() {
            addCriterion("dob is not null");
            return (Criteria) this;
        }

        public Criteria andDobEqualTo(Date value) {
            addCriterionForJDBCDate("dob =", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobNotEqualTo(Date value) {
            addCriterionForJDBCDate("dob <>", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobGreaterThan(Date value) {
            addCriterionForJDBCDate("dob >", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dob >=", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobLessThan(Date value) {
            addCriterionForJDBCDate("dob <", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("dob <=", value, "dob");
            return (Criteria) this;
        }

        public Criteria andDobIn(List<Date> values) {
            addCriterionForJDBCDate("dob in", values, "dob");
            return (Criteria) this;
        }

        public Criteria andDobNotIn(List<Date> values) {
            addCriterionForJDBCDate("dob not in", values, "dob");
            return (Criteria) this;
        }

        public Criteria andDobBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dob between", value1, value2, "dob");
            return (Criteria) this;
        }

        public Criteria andDobNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("dob not between", value1, value2, "dob");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNull() {
            addCriterion("description is null");
            return (Criteria) this;
        }

        public Criteria andDescriptionIsNotNull() {
            addCriterion("description is not null");
            return (Criteria) this;
        }

        public Criteria andDescriptionEqualTo(String value) {
            addCriterion("description =", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotEqualTo(String value) {
            addCriterion("description <>", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThan(String value) {
            addCriterion("description >", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
            addCriterion("description >=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThan(String value) {
            addCriterion("description <", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLessThanOrEqualTo(String value) {
            addCriterion("description <=", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionLike(String value) {
            addCriterion("description like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotLike(String value) {
            addCriterion("description not like", value, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionIn(List<String> values) {
            addCriterion("description in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotIn(List<String> values) {
            addCriterion("description not in", values, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionBetween(String value1, String value2) {
            addCriterion("description between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andDescriptionNotBetween(String value1, String value2) {
            addCriterion("description not between", value1, value2, "description");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressIsNull() {
            addCriterion("permanent_address is null");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressIsNotNull() {
            addCriterion("permanent_address is not null");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressEqualTo(String value) {
            addCriterion("permanent_address =", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressNotEqualTo(String value) {
            addCriterion("permanent_address <>", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressGreaterThan(String value) {
            addCriterion("permanent_address >", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressGreaterThanOrEqualTo(String value) {
            addCriterion("permanent_address >=", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressLessThan(String value) {
            addCriterion("permanent_address <", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressLessThanOrEqualTo(String value) {
            addCriterion("permanent_address <=", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressLike(String value) {
            addCriterion("permanent_address like", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressNotLike(String value) {
            addCriterion("permanent_address not like", value, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressIn(List<String> values) {
            addCriterion("permanent_address in", values, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressNotIn(List<String> values) {
            addCriterion("permanent_address not in", values, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressBetween(String value1, String value2) {
            addCriterion("permanent_address between", value1, value2, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPermanentAddressNotBetween(String value1, String value2) {
            addCriterion("permanent_address not between", value1, value2, "permanentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressIsNull() {
            addCriterion("present_address is null");
            return (Criteria) this;
        }

        public Criteria andPresentAddressIsNotNull() {
            addCriterion("present_address is not null");
            return (Criteria) this;
        }

        public Criteria andPresentAddressEqualTo(String value) {
            addCriterion("present_address =", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressNotEqualTo(String value) {
            addCriterion("present_address <>", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressGreaterThan(String value) {
            addCriterion("present_address >", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressGreaterThanOrEqualTo(String value) {
            addCriterion("present_address >=", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressLessThan(String value) {
            addCriterion("present_address <", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressLessThanOrEqualTo(String value) {
            addCriterion("present_address <=", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressLike(String value) {
            addCriterion("present_address like", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressNotLike(String value) {
            addCriterion("present_address not like", value, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressIn(List<String> values) {
            addCriterion("present_address in", values, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressNotIn(List<String> values) {
            addCriterion("present_address not in", values, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressBetween(String value1, String value2) {
            addCriterion("present_address between", value1, value2, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andPresentAddressNotBetween(String value1, String value2) {
            addCriterion("present_address not between", value1, value2, "presentAddress");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNull() {
            addCriterion("username is null");
            return (Criteria) this;
        }

        public Criteria andUsernameIsNotNull() {
            addCriterion("username is not null");
            return (Criteria) this;
        }

        public Criteria andUsernameEqualTo(String value) {
            addCriterion("username =", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotEqualTo(String value) {
            addCriterion("username <>", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThan(String value) {
            addCriterion("username >", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameGreaterThanOrEqualTo(String value) {
            addCriterion("username >=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThan(String value) {
            addCriterion("username <", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLessThanOrEqualTo(String value) {
            addCriterion("username <=", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameLike(String value) {
            addCriterion("username like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotLike(String value) {
            addCriterion("username not like", value, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameIn(List<String> values) {
            addCriterion("username in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotIn(List<String> values) {
            addCriterion("username not in", values, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameBetween(String value1, String value2) {
            addCriterion("username between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andUsernameNotBetween(String value1, String value2) {
            addCriterion("username not between", value1, value2, "username");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNull() {
            addCriterion("`password` is null");
            return (Criteria) this;
        }

        public Criteria andPasswordIsNotNull() {
            addCriterion("`password` is not null");
            return (Criteria) this;
        }

        public Criteria andPasswordEqualTo(String value) {
            addCriterion("`password` =", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotEqualTo(String value) {
            addCriterion("`password` <>", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThan(String value) {
            addCriterion("`password` >", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordGreaterThanOrEqualTo(String value) {
            addCriterion("`password` >=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThan(String value) {
            addCriterion("`password` <", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLessThanOrEqualTo(String value) {
            addCriterion("`password` <=", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordLike(String value) {
            addCriterion("`password` like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotLike(String value) {
            addCriterion("`password` not like", value, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordIn(List<String> values) {
            addCriterion("`password` in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotIn(List<String> values) {
            addCriterion("`password` not in", values, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordBetween(String value1, String value2) {
            addCriterion("`password` between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andPasswordNotBetween(String value1, String value2) {
            addCriterion("`password` not between", value1, value2, "password");
            return (Criteria) this;
        }

        public Criteria andRidIsNull() {
            addCriterion("rid is null");
            return (Criteria) this;
        }

        public Criteria andRidIsNotNull() {
            addCriterion("rid is not null");
            return (Criteria) this;
        }

        public Criteria andRidEqualTo(Integer value) {
            addCriterion("rid =", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidNotEqualTo(Integer value) {
            addCriterion("rid <>", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidGreaterThan(Integer value) {
            addCriterion("rid >", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidGreaterThanOrEqualTo(Integer value) {
            addCriterion("rid >=", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidLessThan(Integer value) {
            addCriterion("rid <", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidLessThanOrEqualTo(Integer value) {
            addCriterion("rid <=", value, "rid");
            return (Criteria) this;
        }

        public Criteria andRidIn(List<Integer> values) {
            addCriterion("rid in", values, "rid");
            return (Criteria) this;
        }

        public Criteria andRidNotIn(List<Integer> values) {
            addCriterion("rid not in", values, "rid");
            return (Criteria) this;
        }

        public Criteria andRidBetween(Integer value1, Integer value2) {
            addCriterion("rid between", value1, value2, "rid");
            return (Criteria) this;
        }

        public Criteria andRidNotBetween(Integer value1, Integer value2) {
            addCriterion("rid not between", value1, value2, "rid");
            return (Criteria) this;
        }

        public Criteria andPictureIsNull() {
            addCriterion("picture is null");
            return (Criteria) this;
        }

        public Criteria andPictureIsNotNull() {
            addCriterion("picture is not null");
            return (Criteria) this;
        }

        public Criteria andPictureEqualTo(String value) {
            addCriterion("picture =", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotEqualTo(String value) {
            addCriterion("picture <>", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThan(String value) {
            addCriterion("picture >", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureGreaterThanOrEqualTo(String value) {
            addCriterion("picture >=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThan(String value) {
            addCriterion("picture <", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLessThanOrEqualTo(String value) {
            addCriterion("picture <=", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureLike(String value) {
            addCriterion("picture like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotLike(String value) {
            addCriterion("picture not like", value, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureIn(List<String> values) {
            addCriterion("picture in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotIn(List<String> values) {
            addCriterion("picture not in", values, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureBetween(String value1, String value2) {
            addCriterion("picture between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andPictureNotBetween(String value1, String value2) {
            addCriterion("picture not between", value1, value2, "picture");
            return (Criteria) this;
        }

        public Criteria andFaNameIsNull() {
            addCriterion("fa_name is null");
            return (Criteria) this;
        }

        public Criteria andFaNameIsNotNull() {
            addCriterion("fa_name is not null");
            return (Criteria) this;
        }

        public Criteria andFaNameEqualTo(String value) {
            addCriterion("fa_name =", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameNotEqualTo(String value) {
            addCriterion("fa_name <>", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameGreaterThan(String value) {
            addCriterion("fa_name >", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameGreaterThanOrEqualTo(String value) {
            addCriterion("fa_name >=", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameLessThan(String value) {
            addCriterion("fa_name <", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameLessThanOrEqualTo(String value) {
            addCriterion("fa_name <=", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameLike(String value) {
            addCriterion("fa_name like", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameNotLike(String value) {
            addCriterion("fa_name not like", value, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameIn(List<String> values) {
            addCriterion("fa_name in", values, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameNotIn(List<String> values) {
            addCriterion("fa_name not in", values, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameBetween(String value1, String value2) {
            addCriterion("fa_name between", value1, value2, "faName");
            return (Criteria) this;
        }

        public Criteria andFaNameNotBetween(String value1, String value2) {
            addCriterion("fa_name not between", value1, value2, "faName");
            return (Criteria) this;
        }

        public Criteria andFaOccupationIsNull() {
            addCriterion("fa_occupation is null");
            return (Criteria) this;
        }

        public Criteria andFaOccupationIsNotNull() {
            addCriterion("fa_occupation is not null");
            return (Criteria) this;
        }

        public Criteria andFaOccupationEqualTo(String value) {
            addCriterion("fa_occupation =", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationNotEqualTo(String value) {
            addCriterion("fa_occupation <>", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationGreaterThan(String value) {
            addCriterion("fa_occupation >", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationGreaterThanOrEqualTo(String value) {
            addCriterion("fa_occupation >=", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationLessThan(String value) {
            addCriterion("fa_occupation <", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationLessThanOrEqualTo(String value) {
            addCriterion("fa_occupation <=", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationLike(String value) {
            addCriterion("fa_occupation like", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationNotLike(String value) {
            addCriterion("fa_occupation not like", value, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationIn(List<String> values) {
            addCriterion("fa_occupation in", values, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationNotIn(List<String> values) {
            addCriterion("fa_occupation not in", values, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationBetween(String value1, String value2) {
            addCriterion("fa_occupation between", value1, value2, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaOccupationNotBetween(String value1, String value2) {
            addCriterion("fa_occupation not between", value1, value2, "faOccupation");
            return (Criteria) this;
        }

        public Criteria andFaPhoneIsNull() {
            addCriterion("fa_phone is null");
            return (Criteria) this;
        }

        public Criteria andFaPhoneIsNotNull() {
            addCriterion("fa_phone is not null");
            return (Criteria) this;
        }

        public Criteria andFaPhoneEqualTo(String value) {
            addCriterion("fa_phone =", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneNotEqualTo(String value) {
            addCriterion("fa_phone <>", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneGreaterThan(String value) {
            addCriterion("fa_phone >", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("fa_phone >=", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneLessThan(String value) {
            addCriterion("fa_phone <", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneLessThanOrEqualTo(String value) {
            addCriterion("fa_phone <=", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneLike(String value) {
            addCriterion("fa_phone like", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneNotLike(String value) {
            addCriterion("fa_phone not like", value, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneIn(List<String> values) {
            addCriterion("fa_phone in", values, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneNotIn(List<String> values) {
            addCriterion("fa_phone not in", values, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneBetween(String value1, String value2) {
            addCriterion("fa_phone between", value1, value2, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaPhoneNotBetween(String value1, String value2) {
            addCriterion("fa_phone not between", value1, value2, "faPhone");
            return (Criteria) this;
        }

        public Criteria andFaEmailIsNull() {
            addCriterion("fa_email is null");
            return (Criteria) this;
        }

        public Criteria andFaEmailIsNotNull() {
            addCriterion("fa_email is not null");
            return (Criteria) this;
        }

        public Criteria andFaEmailEqualTo(String value) {
            addCriterion("fa_email =", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailNotEqualTo(String value) {
            addCriterion("fa_email <>", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailGreaterThan(String value) {
            addCriterion("fa_email >", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailGreaterThanOrEqualTo(String value) {
            addCriterion("fa_email >=", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailLessThan(String value) {
            addCriterion("fa_email <", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailLessThanOrEqualTo(String value) {
            addCriterion("fa_email <=", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailLike(String value) {
            addCriterion("fa_email like", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailNotLike(String value) {
            addCriterion("fa_email not like", value, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailIn(List<String> values) {
            addCriterion("fa_email in", values, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailNotIn(List<String> values) {
            addCriterion("fa_email not in", values, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailBetween(String value1, String value2) {
            addCriterion("fa_email between", value1, value2, "faEmail");
            return (Criteria) this;
        }

        public Criteria andFaEmailNotBetween(String value1, String value2) {
            addCriterion("fa_email not between", value1, value2, "faEmail");
            return (Criteria) this;
        }

        public Criteria andMoNameIsNull() {
            addCriterion("mo_name is null");
            return (Criteria) this;
        }

        public Criteria andMoNameIsNotNull() {
            addCriterion("mo_name is not null");
            return (Criteria) this;
        }

        public Criteria andMoNameEqualTo(String value) {
            addCriterion("mo_name =", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameNotEqualTo(String value) {
            addCriterion("mo_name <>", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameGreaterThan(String value) {
            addCriterion("mo_name >", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameGreaterThanOrEqualTo(String value) {
            addCriterion("mo_name >=", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameLessThan(String value) {
            addCriterion("mo_name <", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameLessThanOrEqualTo(String value) {
            addCriterion("mo_name <=", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameLike(String value) {
            addCriterion("mo_name like", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameNotLike(String value) {
            addCriterion("mo_name not like", value, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameIn(List<String> values) {
            addCriterion("mo_name in", values, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameNotIn(List<String> values) {
            addCriterion("mo_name not in", values, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameBetween(String value1, String value2) {
            addCriterion("mo_name between", value1, value2, "moName");
            return (Criteria) this;
        }

        public Criteria andMoNameNotBetween(String value1, String value2) {
            addCriterion("mo_name not between", value1, value2, "moName");
            return (Criteria) this;
        }

        public Criteria andMoOccupationIsNull() {
            addCriterion("mo_occupation is null");
            return (Criteria) this;
        }

        public Criteria andMoOccupationIsNotNull() {
            addCriterion("mo_occupation is not null");
            return (Criteria) this;
        }

        public Criteria andMoOccupationEqualTo(String value) {
            addCriterion("mo_occupation =", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationNotEqualTo(String value) {
            addCriterion("mo_occupation <>", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationGreaterThan(String value) {
            addCriterion("mo_occupation >", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationGreaterThanOrEqualTo(String value) {
            addCriterion("mo_occupation >=", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationLessThan(String value) {
            addCriterion("mo_occupation <", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationLessThanOrEqualTo(String value) {
            addCriterion("mo_occupation <=", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationLike(String value) {
            addCriterion("mo_occupation like", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationNotLike(String value) {
            addCriterion("mo_occupation not like", value, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationIn(List<String> values) {
            addCriterion("mo_occupation in", values, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationNotIn(List<String> values) {
            addCriterion("mo_occupation not in", values, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationBetween(String value1, String value2) {
            addCriterion("mo_occupation between", value1, value2, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoOccupationNotBetween(String value1, String value2) {
            addCriterion("mo_occupation not between", value1, value2, "moOccupation");
            return (Criteria) this;
        }

        public Criteria andMoPhoneIsNull() {
            addCriterion("mo_phone is null");
            return (Criteria) this;
        }

        public Criteria andMoPhoneIsNotNull() {
            addCriterion("mo_phone is not null");
            return (Criteria) this;
        }

        public Criteria andMoPhoneEqualTo(String value) {
            addCriterion("mo_phone =", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneNotEqualTo(String value) {
            addCriterion("mo_phone <>", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneGreaterThan(String value) {
            addCriterion("mo_phone >", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("mo_phone >=", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneLessThan(String value) {
            addCriterion("mo_phone <", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneLessThanOrEqualTo(String value) {
            addCriterion("mo_phone <=", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneLike(String value) {
            addCriterion("mo_phone like", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneNotLike(String value) {
            addCriterion("mo_phone not like", value, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneIn(List<String> values) {
            addCriterion("mo_phone in", values, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneNotIn(List<String> values) {
            addCriterion("mo_phone not in", values, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneBetween(String value1, String value2) {
            addCriterion("mo_phone between", value1, value2, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoPhoneNotBetween(String value1, String value2) {
            addCriterion("mo_phone not between", value1, value2, "moPhone");
            return (Criteria) this;
        }

        public Criteria andMoEmailIsNull() {
            addCriterion("mo_email is null");
            return (Criteria) this;
        }

        public Criteria andMoEmailIsNotNull() {
            addCriterion("mo_email is not null");
            return (Criteria) this;
        }

        public Criteria andMoEmailEqualTo(String value) {
            addCriterion("mo_email =", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailNotEqualTo(String value) {
            addCriterion("mo_email <>", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailGreaterThan(String value) {
            addCriterion("mo_email >", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailGreaterThanOrEqualTo(String value) {
            addCriterion("mo_email >=", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailLessThan(String value) {
            addCriterion("mo_email <", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailLessThanOrEqualTo(String value) {
            addCriterion("mo_email <=", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailLike(String value) {
            addCriterion("mo_email like", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailNotLike(String value) {
            addCriterion("mo_email not like", value, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailIn(List<String> values) {
            addCriterion("mo_email in", values, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailNotIn(List<String> values) {
            addCriterion("mo_email not in", values, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailBetween(String value1, String value2) {
            addCriterion("mo_email between", value1, value2, "moEmail");
            return (Criteria) this;
        }

        public Criteria andMoEmailNotBetween(String value1, String value2) {
            addCriterion("mo_email not between", value1, value2, "moEmail");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}